-
Notifications
You must be signed in to change notification settings - Fork 24
[EVM] Fold Or Jumpi #870
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EVM] Fold Or Jumpi #870
Conversation
|
|
📊 Excel Report Available Benchmarks measured for:
|
d4710c8
to
758e87a
Compare
✅ With the latest revision this PR passed the C/C++ code formatter. |
e767ea6
to
7473e2b
Compare
3c84ace
to
b1a975a
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #870 +/- ##
=======================================
Coverage 30.07% 30.07%
=======================================
Files 2441 2442 +1
Lines 807942 807946 +4
Branches 176474 176475 +1
=======================================
+ Hits 242962 242984 +22
+ Misses 522806 522795 -11
+ Partials 42174 42167 -7 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
0856623
to
dc9c096
Compare
dc9c096
to
83c8a32
Compare
regressions:
Rerunning to exclude randomness |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The patch introduces a few SelectionDAG patterns to improve codegen for the `br (brcond (setcc))` case. Additionally, due to the late expansion of JUMP_UNLESS, the patch introduces a peephole pass that optimizes JUMPI predicates: * `ISZERO ISZERO` is folded to nothing * `EQ ISZERO` is folded to `SUB` * `SUB ISZERO` is folded to `EQ`
* `ISZERO ISZERO OR* PseudoJUMPI` -> `OR* PseudoJUMPI` * `EQ ISZERO OR* PseudoJUMPI` -> `SUB OR* PseudoJUMPI` * `SUB ISZERO OR* PseudoJUMPI` -> `EQ OR* PseudoJUMPI`
83c8a32
to
915baaf
Compare
Uh oh!
There was an error while loading. Please reload this page.